﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class 坦克移动 : MonoBehaviour
{
    public float 速度 = 5;
    public float 旋转速度 = 200;

    public 摇杆 触控摇杆;
    public Vector3 摇杆方向;

    public KeyCode 前进按钮;
    public KeyCode 倒退按钮;
    public KeyCode 左旋按钮;
    public KeyCode 右旋按钮;

    public AudioClip 待机音频;
    public AudioClip 运行音频;

    public GameObject 相机辅助;

    private AudioSource 音频源;

    void Start()
    {
        音频源 = GetComponent<AudioSource>();
    }

    void Update()
    {
        // 键盘
        float 键盘运动方向 = 0;
        if (!(Input.GetKey(前进按钮) && Input.GetKey(倒退按钮)))
        {
            if (Input.GetKey(前进按钮))
            {
                键盘运动方向 = -1;
            }
            else if (Input.GetKey(倒退按钮))
            {
                键盘运动方向 = 1;
            }
        }


        float 键盘旋转方向 = 0;
        if (!(Input.GetKey(左旋按钮) && Input.GetKey(右旋按钮)))
        {
            if (Input.GetKey(左旋按钮))
            {
                键盘旋转方向 = -1;
            }
            else if (Input.GetKey(右旋按钮))
            {
                键盘旋转方向 = 1;
            }
        }

        // 摇杆
        float 摇杆运动方向 = 0;
        float 摇杆旋转方向 = 0;

        if (触控摇杆)
        {
            摇杆运动方向 = 触控摇杆.Y方向的输入 * -1;
            摇杆旋转方向 = 触控摇杆.X方向的输入;
        }

        // 汇总
        float 运动方向 = Mathf.Abs(摇杆运动方向)> Mathf.Abs(键盘运动方向)? 摇杆运动方向: 键盘运动方向;
        float 旋转方向 = Mathf.Abs(摇杆旋转方向) > Mathf.Abs(键盘旋转方向) ? 摇杆旋转方向 : 键盘旋转方向;


        // 执行
        transform.Translate(new Vector3(运动方向, 0, 0) * 速度 * Time.deltaTime);
        transform.Rotate(new Vector3(0, 旋转方向*旋转速度 * Time.deltaTime, 0),Space.Self);

        // 判断是否在运行
        if(Mathf.Abs(旋转方向)>0.1||Mathf.Abs(运动方向) > 0.1)
        {
            if (!音频源.clip.Equals(运行音频))
            {
                音频源.clip = 运行音频;
            }
        }
        else
        {
            if (!音频源.clip.Equals(待机音频))
            {
                音频源.clip = 待机音频;
            }
        }

        if (!音频源.isPlaying)
        {
            音频源.Play();
        }
    }
}
